package anul_2014.Programare;

public class KomplexZahl {
	double re, im;

	public KomplexZahl() {
		re = im = 0;
	}

	public KomplexZahl(double re, double im) {
		this.re = re;
		this.im = im;
	}

	public KomplexZahl(double re) {
		this.re = re;
		im = 0;
	}

	public String toString() {
		if (im > 0)
			return (this.re + " + " + this.im + "i");
		return (this.re + "" + this.im + "i");
	}

	public static KomplexZahl add(KomplexZahl a, KomplexZahl b) {
		return new KomplexZahl((a.re + b.re), (a.im + b.im));
	}

	public static KomplexZahl diff(KomplexZahl a, KomplexZahl b) {
		return new KomplexZahl((a.re - b.re), (a.im - b.im));
	}

	public static KomplexZahl mult(KomplexZahl a, KomplexZahl b) {
		return new KomplexZahl((a.re * b.re - a.im * b.im), (a.re * b.im + a.im * b.re));
	}

	public static KomplexZahl mult2(KomplexZahl a, KomplexZahl b) {
		return new KomplexZahl((b.re * a.re + b.im * a.im), (b.re * a.im - b.im * a.re));
	}

	public static double modul(KomplexZahl a) {
		return Math.sqrt(Math.pow(a.re, 2) + Math.pow(a.im, 2));
	}

	public static void div(KomplexZahl a, KomplexZahl b) {
		System.out.println("Impartire: " + KomplexZahl.mult2(a, b) + " / " + (Math.pow(b.re, 2) + Math.pow(b.im, 2)));
	}
}